1. Field of the Invention
The present invention relates to automated network traffic management, and more particularly, to forward error correction using reordering of packets to a specific depth.
2. Description of the Related Art
Currently, there are a number of conventional methods that relate to correction of errors in networks transferring packetized data. The networks typically experience losses of packets and bursts of lost packets. A forward error correction (FEC) method is used to deal with network packet data losses. According to the FEC, additional data is added to the transferred packet data in order to compensate for the future losses.
However, a conventional FEC method is insufficient in wireless networks, where the losses often occur in bursts (i.e., groups of lost packets). The Wi-Fi environment is often unpredictable and packets are constantly lost in the Wi-Fi networks. The data is transferred in a half-duplex mode in a common frequency channel. While collision protection is implemented, the collisions take place because of attempts to simultaneously transfer data by different devices, or because of several devices operate in the same frequency range while supporting different communications protocols.
Another reason for losses is weakening of the signal due to obstructions in the propagation path of the radio waves. Video traffic is particularly sensitive to these losses. The most critical are losses of groups of consecutive packets that typically occur in wireless networks. A Real-time Transport Protocol (RTP) takes into account possible packet data losses and employs some forward error correction (FEC) using standards RFC 2733, RFC 5109 and RFC 6015. However, conventional FEC does not provide for efficient delivery of packets in wireless networks where groups of packets are often lost.
The RFC 2733 protocol forms additional FEC data packets out of basic data packets (at least two packets are used). The XOR operation is applied to the basic data packets. Alternatively, only FEC data packets are sent over a communication channel, as shown in FIG. 1. The initial data packets are “a, b, c, d, e.” Instead of the initial data packets, the FEC data packets “fn1 (a,b) fn2(a,c) fn3(a,b,c) fn4(c,d) fn5(c,e) fn6(c,d,e)” are sent over the communication channel, where fn are XOR operations.
The conventional FEC scheme depicted in FIG. 1 allows for restoration of data when single packets are lost. In some cases the data can be restored if two consecutive packets are lost as well. However, in order to restore all lost packets, a loss of each third FEC packet is acceptable. Thus, a sequence of minimum of the two packets is required. In wireless networks, group packet losses occur quite frequently. The conventional FEC scheme does not address these losses.
Accordingly, there is a need in the art for an effective and efficient method for forward error correction that provides for recovery of all packet data.